package com.my.aslife.service;

import com.my.aslife.module.common.PageRequestVo;
import com.my.aslife.module.common.ResponseResult;
import com.my.aslife.module.entity.RunnerDetail;
import com.baomidou.mybatisplus.extension.service.IService;
import com.my.aslife.module.entity.dtos.RunnerDetailAllowDto;
import org.springframework.web.multipart.MultipartFile;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author jobob
 * @since 2022-12-12
 */
public interface IRunnerDetailService extends IService<RunnerDetail> {

    /**
     *  上传申请为跑腿者图片信息
     * @param file file
     * @return ResponseResult
     */
    ResponseResult uploadApplyRunnerImg(MultipartFile file);

    /**
     *  获取详细信息
     * @param uid uid
     * @return ResponseResult
     */
    ResponseResult queryRunnerDetailByUID(Long uid);

    /**
     * 提交审核
     * @param uid uid
     * @return ResponseResult
     */
    ResponseResult commitApply(Long uid);

    /**
     *  允许成为配送者
     * @param runnerDetailAllowDto runnerDetailAllowDto
     * @return
     */
    ResponseResult allowIntoRunner(RunnerDetailAllowDto runnerDetailAllowDto);

    /**
     *  查询申请跑腿者用户
     * @param pageRequestVo 条件
     * @return
     */
    ResponseResult getUserIllegalByPage(PageRequestVo pageRequestVo);

    /**
     *  根据 uid 查询详细 runnerDetail
     * @param uid uid
     * @return
     */
    ResponseResult queryRunnerDetailInfoByUID(Long uid);

    /**
     *  审核失败
     * @param runnerDetail runnerDetail
     * @return
     */
    ResponseResult applyRunnerFail(RunnerDetail runnerDetail);

    /**
     *  审核通过
     * @param runnerDetail runnerDetail
     * @return
     */
    ResponseResult applyRunnerOK(RunnerDetail runnerDetail);

    /**
     *  订单完成
     * @param orderId
     * @return
     */
    ResponseResult runOk(Long orderId);
}
